iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
SideProject30

人機控制介面之開發應用系列 第 17

For迴圈來製作紅綠燈專案-Arduino code

  • 分享至 

  • xImage
  •  
  • 宣告定義函式簡化 Arduino code
  • 使用 for loop 使黃燈閃滅

Arduino程式碼

const byte LEDR = 8;  //Red LED : pin 8
const byte LEDY = 9;  //Yellow LED : pin 9
const byte LEDG = 10; //Green LED : pin 10

//宣告定義 setLights函式
void setLights(byte red, byte yellow, byte green) { //引數列表(型別 名稱):(位元組 紅, 位元組 黃, 位元組 綠)
  digitalWrite(LEDR, red);    //LEDR pin8, 變數名稱 red
  digitalWrite(LEDY, yellow); //LEDY pin9, 變數名稱 yellow
  digitalWrite(LEDG, green);  //LEDG pin10, 變數名稱 green
}

void setup() {
  pinMode(LEDR, OUTPUT);
  pinMode(LEDY, OUTPUT);
  pinMode(LEDG, OUTPUT);
}

void loop() {
  // 紅燈亮
  setLights(HIGH, LOW, LOW);  // 呼叫setLights函式,LEDR pin8 HIGH(高電位)紅燈亮
  delay(1000); // wait for a second
  setLights(LOW, LOW, LOW);   // 呼叫setLights函式,LEDR pin8 LOW(低電位)三燈滅

  // 黃燈閃
  for(int i = 0; i < 8; i++) {
    digitalWrite(LEDY, HIGH); //令pin9為HIGH高電位,黃燈亮
    delay(100); // wait for 0.1 second
    digitalWrite(LEDY, LOW);  //令pin9為LOW低電位,黃燈滅
    delay(100);
  }

  // 綠燈行
  setLights(LOW, LOW, HIGH);  // 呼叫setLights函式,LEDR pin10 HIGH(高電位)綠燈亮
  delay(1000); // wait for a second
}

程式碼ino檔 github下載

實作影片
Yes


上一篇
創見並宣告且定義函數,使LED輪流閃爍-Arduino
下一篇
共陰極七段顯示器-利用餘數原理精簡 Arduino code
系列文
人機控制介面之開發應用37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言